Scroll to navigation

CAPGET(2) п═я┐п╨п╬п╡п╬п╢я│я┌п╡п╬ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟ Linux CAPGET(2)

п≤п°п╞

capget, capset - я┐я│я┌п╟п╫п╬п╡п╨п╟/п©п╬п╩я┐я┤п╣п╫п╦п╣ п╪п╟п╫п╢п╟я┌п╬п╡ п╫п╦я┌п╦(п╣п╧)

п·п▒п≈п·п═

#undef _POSIX_SOURCE
#include <sys/capability.h>

int capget(cap_user_header_t hdrp, cap_user_data_t datap);

int capset(cap_user_header_t hdrp, const cap_user_data_t datap);

п·п÷п≤п║п░п²п≤п∙

п²п╟я┤п╦п╫п╟я▐ я│ Linux 2.2, п©п╬п╩п╫п╬п╪п╬я┤п╦я▐ я│я┐п©п╣я─п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ (root) п╠я▀п╩п╦ я─п╟п╥п╢п╣п╩п╣п╫я▀ п╫п╟ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╬я┌п╢п╣п╩я▄п╫я▀я┘ п╪п╟п╫п╢п╟я┌п╬п╡. пё п╨п╟п╤п╢п╬п╧ п╫п╦я┌п╦ п╣я│я┌я▄ п╫п╟п╠п╬я─ п╢п╣п╧я│я┌п╡я┐я▌я┴п╦я┘ п╪п╟п╫п╢п╟я┌п╬п╡, п╬п©я─п╣п╢п╣п╩я▐я▌я┴п╦я┘ п╨п╟п╨п╦п╣ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌п╦ (п╣я│п╩п╦ п╣я│я┌я▄) п╬п╫п╟ п╪п╬п╤п╣я┌ п╡ п╢п╟п╫п╫я▀п╧ п╪п╬п╪п╣п╫я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄. п п╟п╤п╢п╟я▐ п╫п╦я┌я▄ я┌п╟п╨п╤п╣ п╦п╪п╣п╣я┌ п╫п╟п╠п╬я─ я┐п╫п╟я│п╩п╣п╢п╬п╡п╟п╫п╫я▀я┘ п╪п╟п╫п╢п╟я┌п╬п╡, п╨п╬я┌п╬я─я▀п╧ п╪п╬пЁ п╠я▀я┌я▄ п©п╣я─п╣п╢п╟п╫ я┤п╣я─п╣п╥ п╡я▀п╥п╬п╡ execve(2), п╦ п╫п╟п╠п╬я─ я─п╟п╥я─п╣я┬я▒п╫п╫я▀я┘ п╪п╟п╫п╢п╟я┌п╬п╡, п╨п╬я┌п╬я─я▀п╣ п╬п╫п╟ п╪п╬п╤п╣я┌ я│п╢п╣п╩п╟я┌я▄ я█я└я└п╣п╨я┌п╦п╡п╫я▀п╪п╦ п╦п╩п╦ п©п╣я─п╣п╢п╟я┌я▄ п©п╬я┌п╬п╪п╨п╟п╪.

п■п╟п╫п╫я▀п╣ я└я┐п╫п╨я├п╦п╦ п©я─п╣п╢я│я┌п╟п╡п╩я▐я▌я┌ я│п╬п╠п╬п╧ п╫п╦п╥п╨п╬я┐я─п╬п╡п╫п╣п╡я▀п╧ п╦п╫я┌п╣я─я└п╣п╧я│ я▐п╢я─п╟ п╢п╩я▐ п©п╬п╩я┐я┤п╣п╫п╦я▐ п╦ я┐я│я┌п╟п╫п╬п╡п╨п╦ п╪п╟п╫п╢п╟я┌п╬п╡ п╫п╦я┌п╦. п я─п╬п╪п╣ я┌п╬пЁп╬, я┤я┌п╬ я█я┌п╦ я│п╦я│я┌п╣п╪п╫я▀п╣ п╡я▀п╥п╬п╡я▀ п╣я│я┌я▄ я┌п╬п╩я▄п╨п╬ п╡ Linux, п╦п╥-п╥п╟ п╫п╦я┘, п╡п╣я─п╬я▐я┌п╫п╬, п╦п╥п╪п╣п╫п╦я┌я│я▐ п©я─п╬пЁя─п╟п╪п╪п╫я▀п╧ п╦п╫я┌п╣я─я└п╣п╧я│ я▐п╢я─п╟; я│ п╨п╟п╤п╢п╬п╧ п╫п╬п╡п╬п╧ п╡п╣я─я│п╦п╣п╧ я▐п╢я─п╟ я█я┌п╦ я└я┐п╫п╨я├п╦п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ п╡я│я▒ я┤п╟я┴п╣ (п╡ я┤п╟я│я┌п╫п╬я│я┌п╦, я┌п╦п©я▀ cap_user_*_t), п╫п╬ я│я┌п╟я─я▀п╣ п©я─п╬пЁя─п╟п╪п╪я▀ я─п╟п╠п╬я┌п╟я▌я┌ п╨п╟п╨ п╦ п©я─п╣п╤п╢п╣.

п÷п╣я─п╣п╫п╬я│п╦п╪я▀п╪п╦ п╦п╫я┌п╣я─я└п╣п╧я│п╟п╪п╦ я▐п╡п╩я▐я▌я┌я│я▐ cap_set_proc(3) п╦ cap_get_proc(3); п╣я│п╩п╦ п╡п╬п╥п╪п╬п╤п╫п╬, п╡ п©я─п╦п╩п╬п╤п╣п╫п╦я▐я┘ п╦я│п©п╬п╩я▄п╥я┐п╧я┌п╣ п╦п╪п╣п╫п╫п╬ п╦я┘. п∙я│п╩п╦ я┌я─п╣п╠я┐п╣я┌я│я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я─п╟я│я┬п╦я─п╣п╫п╦я▐ Linux, п╦я│п©п╬п╩я▄п╥я┐п╧я┌п╣ п©я─п╬я│я┌я▀п╣ п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ capsetp(3) п╦ capgetp(3).

п÷п╬п╢я─п╬п╠п╫п╟я▐ п╦п╫я└п╬я─п╪п╟я├п╦я▐

п²п╟ п╢п╟п╫п╫я▀п╧ п╪п╬п╪п╣п╫я┌ п╡ я▐п╢я─п╣ п╬п©я─п╣п╢п╣п╩п╣п╫я▀ я│п╩п╣п╢я┐я▌я┴п╦п╣ я│я┌я─я┐п╨я┌я┐я─я▀:


#define _LINUX_CAPABILITY_VERSION_1 0x19980330 #define _LINUX_CAPABILITY_U32S_1 1 #define _LINUX_CAPABILITY_VERSION_2 0x20071026 #define _LINUX_CAPABILITY_U32S_2 2 typedef struct __user_cap_header_struct {
__u32 version;
int pid; } *cap_user_header_t; typedef struct __user_cap_data_struct {
__u32 effective;
__u32 permitted;
__u32 inheritable; } *cap_user_data_t;

effective, permitted, inheritable — я█я┌п╬ п╠п╦я┌п╬п╡я▀п╣ п╪п╟я│п╨п╦ п╪п╟п╫п╢п╟я┌п╬п╡, п╬п©я─п╣п╢п╣п╩я▒п╫п╫я▀я┘ п╡ capability(7). п≈п╟п╪п╣я┌п╦п╪, я┤я┌п╬ п╥п╫п╟я┤п╣п╫п╦я▐ CAP_* я▐п╡п╩я▐я▌я┌я│я▐ п╦п╫п╢п╣п╨я│п╟п╪п╦ п╠п╦я┌п╬п╡ п╦ я┌я─п╣п╠я┐п╣я┌я│я▐ я│п╢п╡п╦пЁ п╠п╦я┌п╬п╡ п©п╣я─п╣п╢ п╡я▀п©п╬п╩п╫п╣п╫п╦п╣п╪ п╬п©п╣я─п╟я├п╦п╦ п≤п⌡п≤ п╫п╟п╢ п╠п╦я┌п╬п╡я▀п╪п╦ п©п╬п╩я▐п╪п╦. п╖я┌п╬п╠я▀ п╬п©я─п╣п╢п╣п╩п╦я┌я▄ я│я┌я─я┐п╨я┌я┐я─я▀ п╢п╩я▐ п©п╣я─п╣п╢п╟я┤п╦ п╡ я│п╦я│я┌п╣п╪п╫я▀п╧ п╡я▀п╥п╬п╡, п╦я│п©п╬п╩я▄п╥я┐п╧я┌п╣ п╦п╪п╣п╫п╟ struct __user_cap_header_struct п╦ struct __user_cap_data_struct, я┌п╟п╨ п╨п╟п╨ typedef п╬п©п╦я│п╟п╫я▀ я┌п╬п╩я▄п╨п╬ я┐п╨п╟п╥п╟я┌п╣п╩п╦.

п╞п╢я─п╟ п╢п╬ п╡п╣я─я│п╦п╦ 2.6.25 п©я─п╣п╢я┼я▐п╡п╩я▐я▌я┌ 32-п╠п╦я┌п╫я▀п╣ п╪п╟п╫п╢п╟я┌я▀ я│ п╡п╣я─я│п╦п╣п╧ _LINUX_CAPABILITY_VERSION_1, п╟ я▐п╢я─п╟ 2.6.25+ п©я─п╣п╢я┼я▐п╡п╩я▐я▌я┌ 64-п╠п╦я┌п╫я▀п╣ п╪п╟п╫п╢п╟я┌я▀ я│ п╡п╣я─я│п╦п╣п╧ _LINUX_CAPABILITY_VERSION_2. п≈п╟п╪п╣я┌п╦п╪, я┤я┌п╬ п╡ 64-п╠п╦я┌п╫я▀я┘ п╪п╟п╫п╢п╟я┌п╟я┘ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ datap[0] п╦ datap[1], п╡ я┌п╬ п╡я─п╣п╪я▐ п╨п╟п╨ п╡ 32-п╠п╦я┌п╫я▀я┘ я┌п╬п╩я▄п╨п╬ datap[0].

п■я─я┐пЁп╬п╣ п╦п╥п╪п╣п╫п╣п╫п╦п╣, п╡п╩п╦я▐я▌я┴п╣п╣ п╫п╟ п©п╬п╡п╣п╢п╣п╫п╦п╣ я█я┌п╦я┘ я│п╦я│я┌п╣п╪п╫я▀я┘ п╡я▀п╥п╬п╡п╬п╡, п©п╬п╢п╢п╣я─п╤п╨п╟ я▐п╢я─п╬п╪ я└п╟п╧п╩п╬п╡я▀я┘ п╪п╟п╫п╢п╟я┌п╬п╡ (п©п╬п╢п╢п╣я─п╤п╨п╟ п╪п╟п╫п╢п╟я┌п╟ VFS). п■п╟п╫п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ п╡п╨п╩я▌я┤п╟п╣я┌я│я▐ п©п╟я─п╟п╪п╣я┌я─п╬п╪ п╨п╬п╪п©п╦п╩я▐я├п╦п╦ (п╢п╬п╠п╟п╡п╩п╣п╫ п╡ я▐п╢я─п╬ п╡п╣я─я│п╦п╦ 2.6.24).

п║ п©п╬п╪п╬я┴я▄я▌ п╡я▀п╥п╬п╡п╟ capget() п╪п╬п╤п╫п╬ п╡я▀п©п╬п╩п╫п╦я┌я▄ п©я─п╬п╡п╣я─п╨я┐ п╪п╟п╫п╢п╟я┌п╬п╡ п╩я▌п╠п╬пЁп╬ п©я─п╬я├п╣я│я│п╟, я┐п╨п╟п╥п╟п╡ п╣пЁп╬ ID п╡ п©п╬п╩п╣ hdrp->pid.

п╞п╢я─п╬ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п╪п╟п╫п╢п╟я┌п╬п╡ VFS

п÷я─п╦ п©п╬п╢п╢п╣я─п╤п╨п╣ п╪п╟п╫п╢п╟я┌п╬п╡ VFS я│я┐я┴п╣я│я┌п╡я┐п╣я┌ я└п╟п╧п╩-п╟я┌я─п╦п╠я┐я┌п╫я▀п╧ п╪п╣я┌п╬п╢ п╢п╩я▐ п╢п╬п╠п╟п╡п╩п╣п╫п╦я▐ п╪п╟п╫п╢п╟я┌п╬п╡ п©я─п╦п╡п╦п╩п╣пЁп╦я─п╬п╡п╟п╫п╫я▀я┘ п╦я│п©п╬п╩п╫я▐п╣п╪я▀п╪ я└п╟п╧п╩п╟п╪. п■п╟п╫п╫п╟я▐ п╪п╬п╢п╣п╩я▄ п©я─п╦п╡п╦п╩п╣пЁп╦п╧ п╢п╣п╩п╟п╣я┌ я┐я│я┌п╟я─п╣п╡я┬п╣п╧ я▐п╢п╣я─п╫я┐я▌ п©п╬п╢п╢п╣я─п╤п╨я┐ п╟я│п╦п╫я┘я─п╬п╫п╫п╬пЁп╬ п╫п╟п╥п╫п╟я┤п╣п╫п╦я▐ п╪п╟п╫п╢п╟я┌п╬п╡ п©я─п╬я├п╣я│я│п╬п╡. п╒п╬ п╣я│я┌я▄ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ VFS п╡ п╡я▀п╥п╬п╡п╣ capset() я─п╟п╥я─п╣я┬п╣п╫п╬ я┌п╬п╩я▄п╨п╬ п╥п╫п╟я┤п╣п╫п╦п╣ hdrp->pid я─п╟п╡п╫п╬п╣ 0 п╦п╩п╦ getpid(2), я┤я┌п╬ п©я─п╦п╡п╬п╢п╦я┌ п╨ п╬п╢п╫п╬п╪я┐ я─п╣п╥я┐п╩я▄я┌п╟я┌я┐.

п╞п╢я─п╬ п╠п╣п╥ п©п╬п╢п╢п╣я─п╤п╨п╦ п╪п╟п╫п╢п╟я┌п╬п╡ VFS

п п╬пЁп╢п╟ я▐п╢я─п╬ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╟п╫п╢п╟я┌я▀ VFS, п╡я▀п╥п╬п╡п╬п╪ capset() п╪п╬п╤п╫п╬ я┐п©я─п╟п╡п╩я▐я┌я▄ п╪п╟п╫п╢п╟я┌п╟п╪п╦ п╫п╦я┌п╦, я┐п╨п╟п╥п╟п╡ п╥п╫п╟я┤п╣п╫п╦п╣ п╫п╣ я─п╟п╡п╫п╬п╣ п╫я┐п╩я▌ п╡ п©п╬п╩п╣ pid п╦п╥ hdrp, п╦п╩п╦ п╪п╟п╫п╢п╟я┌п╟п╪п╦ п╡я▀п╥я▀п╡п╟я▌я┴п╣п╧ п╫п╦я┌п╦, я┐п╨п╟п╥п╟п╡ п╡ pid п╥п╫п╟я┤п╣п╫п╦п╣ 0. п∙я│п╩п╦ pid я┐п╨п╟п╥я▀п╡п╟п╣я┌ п╫п╟ п©я─п╬я├п╣я│я│ я│ п╬п╢п╫п╬п╧ п╫п╦я┌я▄я▌, я┌п╬ п╥п╫п╟я┤п╣п╫п╦п╣п╪ pid п╪п╬п╤п╣я┌ п╠я▀я┌я▄ ID п╬п╠я▀я┤п╫п╬пЁп╬ п©я─п╬я├п╣я│я│п╟; я┐п©я─п╟п╡п╩п╣п╫п╦п╣ п╫п╦я┌я▄я▌ п╡ п╪п╫п╬пЁп╬п╫п╦я┌п╦п╣п╡п╬п╪ п©я─п╬я├п╣я│я│п╣ я┌я─п╣п╠я┐п╣я┌ ID п╫п╦я┌п╦ я┌п╟п╨п╬пЁп╬ п╤п╣ я┌п╦п©п╟, я┤я┌п╬ п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ gettid(2). пё capset() pid я┌п╟п╨п╤п╣ п╪п╬п╤п╣я┌ п╠я▀я┌я▄: -1 — п╡я▀п©п╬п╩п╫п╦я┌я▄ п╦п╥п╪п╣п╫п╣п╫п╦п╣ я┐ п╡я│п╣я┘ п╫п╦я┌п╣п╧, п╥п╟ п╦я│п╨п╩я▌я┤п╣п╫п╦п╣п╪ п╡я▀п╥я▀п╡п╟я▌я┴п╣п╧ п╦ init(8); п╪п╣п╫я▄я┬п╣ -1 — п╡я▀п©п╬п╩п╫п╦я┌я▄ п╦п╥п╪п╣п╫п╣п╫п╦п╣ п╡я│п╣я┘ я┤п╩п╣п╫п╬п╡ пЁя─я┐п©п©я▀ п©я─п╬я├п╣я│я│п╟, я┤п╣п╧ ID я─п╟п╡п╣п╫ -pid.

п÷п╬п╢я─п╬п╠п╫я┐я▌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п╢п╟п╫п╫я▀я┘ я│п╪п╬я┌я─п╦я┌п╣ п╡ capabilities(7).

п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙

п÷я─п╦ я┐я│п©п╣я┬п╫п╬п╪ п╡я▀п©п╬п╩п╫п╣п╫п╦п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ 0. п▓ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ -1, п╟ errno я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╡ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣.

п▓я▀п╥п╬п╡я▀ п╠я┐п╢я┐я┌ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ EINVAL п╦ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄ п©п╬п╩п╣ version п╡ hdrp п╡ п©я─п╣п╢п©п╬я┤п╦я┌п╟п╣п╪п╬п╣ я▐п╢я─п╬п╪ п╥п╫п╟я┤п╣п╫п╦п╣ _LINUX_CAPABILITY_VERSION_?, п╣я│п╩п╦ я┐п╨п╟п╥п╟п╫п╬ п╫п╣п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣п╪п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣ version. п╒п╟п╨п╦п╪ я│п©п╬я│п╬п╠п╬п╪ п╪п╬п╤п╫п╬ п©я─п╬п╡п╣я─п╦я┌я▄ п╨п╟п╨п╟я▐ п╡п╣я─я│п╦я▐ п╪п╟п╫п╢п╟я┌п╬п╡ я▐п╡п╩я▐п╣я┌я│я▐ п©я─п╣п╢п©п╬я┤я┌п╦я┌п╣п╩я▄п╫п╬п╧.

п·п╗п≤п▒п п≤

п²п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╧ п╟п╢я─п╣я│ п©п╟п╪я▐я┌п╦. hdrp п╫п╣ п╢п╬п╩п╤п╣п╫ п╠я▀я┌я▄ я─п╟п╡п╣п╫ NULL. datap п╪п╬п╤п╣я┌ п╠я▀я┌я▄ NULL я┌п╬п╩я▄п╨п╬ п╨п╬пЁп╢п╟ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄ п©я▀я┌п╟п╣я┌я│я▐ п╬п©я─п╣п╢п╣п╩п╦я┌я▄ п©я─п╣п╢п©п╬я┤я┌п╦я┌п╣п╩я▄п╫я┐я▌ п╡п╣я─я│п╦я▌ я└п╬я─п╪п╟я┌п╟ п╪п╟п╫п╢п╟я┌п╬п╡, п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣п╪я┐я▌ я▐п╢я─п╬п╪.
п·п╢п╦п╫ п╦п╥ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ п╫п╣п©я─п╟п╡п╦п╩п╣п╫.
п▒я▀п╩п╟ я│п╢п╣п╩п╟п╫п╟ п©п╬п©я▀я┌п╨п╟ п╢п╬п╠п╟п╡п╦я┌я▄ п╪п╟п╫п╢п╟я┌ п╨ я│п©п╦я│п╨я┐ я─п╟п╥я─п╣я┬я▒п╫п╫я▀я┘, я█я└я└п╣п╨я┌п╦п╡п╫я▀я┘ п╦п╩п╦ я┐п╫п╟я│п╩п╣п╢п╬п╡п╟п╫п╫я▀я┘ п╪п╟п╫п╢п╟я┌п╬п╡, п╫п╬ я█я┌п╬ п╫п╣ я─п╟п╥я─п╣я┬п╣п╫п╬ я│п╬пЁп╩п╟я│п╫п╬ я│п©п╦я│п╨я┐ я─п╟п╥я─п╣я┬я▒п╫п╫я▀я┘.
п▓я▀п╥я▀п╡п╟я▌я┴п╦п╧ п©я─п╬я├п╣я│я│ п©я▀я┌п╟п╣я┌я│я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ capset() п╢п╩я▐ п╦п╥п╪п╣п╫п╣п╫п╦я▐ п╪п╟п╫п╢п╟я┌п╬п╡ п╫п╣ я│п╡п╬п╣п╧ п╫п╦я┌п╦, п╫п╬ п╣п╪я┐ п╫п╣ я┘п╡п╟я┌п╟п╣я┌ п╫п╟ я█я┌п╬ п©я─п╟п╡. п■п╩я▐ я▐п╢п╣я─, п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ п╪п╟п╫п╢п╟я┌я▀ VFS, я█я┌п╬ п╡я│п╣пЁп╢п╟ п╥п╟п©я─п╣я┴п╣п╫п╬. п■п╩я▐ я▐п╢п╣я─ п╠п╣п╥ п©п╬п╢п╢п╣я─п╤п╨п╦ VFS я┌я─п╣п╠я┐п╣я┌я│я▐ п╪п╟п╫п╢п╟я┌ CAP_SETPCAP. (п²п╣п©я─п╟п╡п╦п╩я▄п╫п╟я▐ я─п╟п╠п╬я┌п╟ я▐п╢п╣я─ п╢п╬ п╡п╣я─я│п╦п╦ 2.6.11 п©я─п╦п╡п╬п╢п╦п╩п╟ п╨ я┌п╬п╪я┐, я┤я┌п╬ я█я┌п╟ п╬я┬п╦п╠п╨п╟ я┌п╟п╨п╤п╣ п╡п╬п╥п╫п╦п╨п╟п╩п╟, п╣я│п╩п╦ п╫п╦я┌я▄ п╠п╣п╥ п╢п╟п╫п╫п╬пЁп╬ п╪п╟п╫п╢п╟я┌п╟ п©я▀я┌п╟п╩п╟я│я▄ п╦п╥п╪п╣п╫п╦я┌я▄ я│п╡п╬п╦ я│п╬п╠я│я┌п╡п╣п╫п╫я▀п╣ п╪п╟п╫п╢п╟я┌я▀, я┐п╨п╟п╥я▀п╡п╟я▐ п╡ п©п╬п╩п╣ pid п╫п╣п╫я┐п╩п╣п╡п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣ (я┌.п╣. п╥п╫п╟я┤п╣п╫п╦п╣, п╡п╬п╥п╡я─п╟я┴п╟п╣п╪п╬п╣ getpid(2)), п╟ п╫п╣ 0).
п╒п╟п╨п╬п╧ п╫п╦я┌п╦ п╫п╣я┌.

п║п·п·п╒п▓п∙п╒п║п╒п▓п≤п∙ п║п╒п░п²п■п░п═п╒п░п°

п■п╟п╫п╫я▀п╣ я│п╦я│я┌п╣п╪п╫я▀п╣ п╡я▀п╥п╬п╡я▀ п╣я│я┌я▄ я┌п╬п╩я▄п╨п╬ п╡ Linux.

п≈п░п°п∙п╖п░п²п≤п╞

п÷п╣я─п╣п╫п╬я│п╦п╪я▀п╧ п╦п╫я┌п╣я─я└п╣п╧я│ п╢п╩я▐ п╥п╟п©я─п╬я│п╟ п╦ я┐я│я┌п╟п╫п╬п╡п╨п╦ п╪п╟п╫п╢п╟я┌п╬п╡ п©я─п╣п╢п╬я│я┌п╟п╡п╩я▐п╣я┌я│я▐ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╬п╧ libcap, п╨п╬я┌п╬я─п╟я▐ п╢п╬я│я┌я┐п©п╫п╟ п©п╬ п╟п╢я─п╣я│я┐:
http://www.kernel.org/pub/linux/libs/security/linux-privs

п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙

clone(2), gettid(2), capabilities(7)

2009-01-26 Linux